import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class LoginFrame extends JFrame {

    public LoginFrame(String title) throws HeadlessException {
        super(title); // 调用父类构造方法传入标题参数
        initGUI(); // 调用初始化图形用户界面方法
    }
    /**
     * 初始化图形用户界面方法
     */
    private void initGUI() {
        // 创建四个面板
        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();
        JPanel panel3 = new JPanel();
        JPanel panel4 = new JPanel();
        // 获取内容面板
        JPanel panel = (JPanel) getContentPane();
        // 设置面板panel的布局为表格布局
        panel.setLayout(new GridLayout(4, 1));
        // 将四个小面板添加到面板panel里
        panel.add(panel1);
        panel.add(panel2);
        panel.add(panel3);
        panel.add(panel4);

        /* 第一个面板里要添加用户名标签与文本框 */
        // 创建用户名标签
        JLabel lblUsername = new JLabel("用  户  名：");
        // 创建用户名文本框
        JTextField txtUsername = new JTextField(15);
        // 将标签与文本框添加到第一个面板
        panel1.add(lblUsername);
        panel1.add(txtUsername);

        /* 第二个面板里要添加密码标签与文本框 */
        // 创建密码标签
        JLabel lblPassword = new JLabel("密       码：");
        // 创建密码文本框
        JPasswordField txtPassword = new JPasswordField(15);
        // 将标签与文本框添加到第二个面板
        panel2.add(lblPassword);
        panel2.add(txtPassword);

        /* 第三个面板里要添加联系方式标签与文本框 */
        // 创建密码标签
        JLabel lblTelephone = new JLabel("联系方式：");
        // 创建联系方式文本框
        JTextField txtTelephone = new JTextField(15);
        // 将标签与文本框添加到第二个面板
        panel3.add(lblTelephone);
        panel3.add(txtTelephone);

        /* 第四个面板里要添加两个按钮 */
        // 创建登录按钮
        JButton btnLogin = new JButton("注册");
        // 创建取消按钮
        JButton btnCancel = new JButton("取消");
        // 将两个按钮添加到第三个面板
        panel4.add(btnLogin);
        panel4.add(btnCancel);

        // 设置窗口边界
        setBounds(300, 300, 400, 300);
        // 设置屏幕居中
        setLocationRelativeTo(null);
        // 设置窗口紧凑
        pack();
        // 设置窗口可见
        setVisible(true);
        // 设置默认关闭方式
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 给【取消】按钮注册动作监听器

        btnCancel.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 退出应用程序
                System.exit(0);
            }
        });
        // 给【注册】按钮注册动作监听器
        btnLogin.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获取用户输入的用户名与密码
                String username = txtUsername.getText().toString();
//                String password = txtPassword.getPassword().toString();
                String password = new String(txtPassword.getPassword());
                String telephone = txtTelephone.getText().toString();
                // 创建用户数据访问对象
                UserDao userDao=new UserDao();
                boolean a=userDao.login(username,password,telephone);
                if(a){
                    System.out.println("");
                    JOptionPane.showMessageDialog(LoginFrame.this,
                            "注册成功！", "提示信息", JOptionPane.INFORMATION_MESSAGE);
                    LoginFrame.this.dispose(); // 关闭注册窗口
                }else{
                    System.out.println("");
                    JOptionPane.showMessageDialog(LoginFrame.this,
                            "", "提示信息", JOptionPane.ERROR_MESSAGE);
                    LoginFrame.this.dispose(); // 关闭注册窗口
                }






            }
        });
    }

    /**
     * 主方法
     *
     * @param args
     */
    public static void main(String[] args) {
        // 实例化登录窗口对象
        LoginFrame loginFrame = new LoginFrame("注册窗口");
    }
}